package virtorina.client.room.rpc;

import java.util.ArrayList;
import java.util.LinkedList;

import virtorina.client.room.dto.ChatMsgDTO;
import virtorina.client.room.dto.InfoDTO;
import virtorina.client.room.dto.QuestionDTO;
import virtorina.client.room.dto.UserDTO;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface GWTService4RoomAsync {

	void add(Long RoomID, String msg, AsyncCallback<Boolean> callback);

	void getNewMessage(int RoomID, AsyncCallback<ArrayList<ChatMsgDTO>> callback);

	void getUpdates(int RoomID, AsyncCallback<Integer> callback);

	void getUser(int RoomID, AsyncCallback<UserDTO> callback);

	void validate(String nick, AsyncCallback<Boolean> callback);

	void updateName(String text, int RoomID,
			AsyncCallback<String> callback);

	void getNewUsers(int RoomID, AsyncCallback<LinkedList<UserDTO>> callback);

	void leave(int RoomID, AsyncCallback<Void> callback);

	void getLeaveUsers(int RoomID, AsyncCallback<LinkedList<Long>> callback);

	void getQuestion(int RoomID, AsyncCallback<QuestionDTO> callback);

	void Chkansw(int RoomID, String answer, AsyncCallback<Integer> callback);

	void getInfo(int RoomID, AsyncCallback<InfoDTO> callback);

	void setComplaint(int RoomID, int type, AsyncCallback<Integer> callback);

	void getName(Integer RoomID, AsyncCallback<String> callback);


}
